Code reading apparatus and method

ABSTRACT

An apparatus and method that allows information about the product to be transferred to the testing device so that the pertinent tests can be run. After the product is tested and repaired, updated information can be encoded onto the medium and the medium can be stored with the product for later retrieval.

PRIORITY

This application is a Continuation-in-Part of U.S. patent applicationentitled, Bar Code Reading Method and Application for a Battery TesterCharger, filed Sep. 6, 2002, bearing application Ser. No. 10/235,800,now U.S. Pat. No. 7,364,078 the disclosure of which is herebyincorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to entering information into abattery tester charger. More particularly, the present invention relatesto entering battery information into a battery tester charger using abar code reader. The present invention also relates to transferringinformation about a product to and from a testing device.

BACKGROUND OF THE INVENTION

Rechargeable batteries are an important source of clean portable powerin a wide variety of electrical applications, including automobiles,boats and electric vehicles. Lead-acid batteries are one form ofrechargeable battery that are commonly used to start engines, propelelectric vehicles, and to act as a source of back-up power when anexternal supply of electricity is interrupted. While not particularlyenergy efficient, due to the weight of lead in comparison to othermetals, the technology of lead-acid batteries is mature. As a result,the batteries are cheap, reliable, and readily produced and thus,continue to constitute a substantial portion of the rechargeablebatteries being produced today.

The ability of lead-acid batteries to deliver large amounts ofelectrical power is well known, particularly when associated with thestarting and powering of motor vehicles. Because the lead-acid batteriescan be depleted of power overtime, such as when they are not in use overa period of time, or when a light in a car is left on for an extendedperiod of time, they need to be recharged and tested. A number ofbattery testers and chargers have thus been developed to charge and testthe lead-acid battery.

Most conventional battery charger/tester is equipped to provide multiplecharging rates for charging different size batteries. The multiplecharging rates are achieved by varying the charging voltage at thebattery terminals, generally by changing the transformerprimary/secondary winding ratio. An operator manually selects the rateat which the battery should be charged and also the duration of thecharge cycle if the charger is equipped with a timer function.

Many defects found in lead-acid batteries and other types of batteriesare the result of poor recharging control in conventional chargers. Forexample, an operator may undercharge or overcharge the battery at a veryhigh rate resulting in the deterioration of the battery. Overcharging abattery wastes energy, reduces the life of the battery, and maypermanently damage the battery. Additionally, conventional batterychargers can also include testers with the appropriate gauges in orderto determine the current state of charge in a battery, how long and atwhat rate a particular battery should be charged, whether it is safe tocharge the battery, and whether the battery is capable of accepting acharge.

Once the battery charger/tester is in operation, the operator mustreturn to check the status of the battery to ensure that the battery ischarging properly. Because conventional battery requires actual visualinspection of the gauges, the operator can waste valuable time and moneyto inspect all the batteries that are currently being charged instead ofgenerating money by working on other projects.

During the charging period of the battery, temperature of the battery isan indicator as to how successfully the battery is accepting the charge.Different batteries accept the charge in a number of different ways. Forexample, some batteries heat up beyond a normal range. Anything beyondthis normal range is an indication that the battery is not accepting thecharge in an efficient manner. There is a need for a battery/chargetester to include a temperature sensing device, which monitors thedevice throughout the entire processing charging and testing process.There is a further need to provide the collected temperature data backto the charger to enable it to adjust the charge/test rate of thebattery based upon this data.

Information regarding batteries may be useful when servicing batteriesand for a number of other reasons. For example, charger/tester chargersused at commercial servicing locations often encounter a wide variety ofdifferent batteries. Different batteries may require differenttechniques for charging or testing. For example, different charge rates,different charging times and other parameters may vary by battery.Because different batteries may require certain servicing techniques, itis useful to be able to quickly identify a certain battery so thatvarious servicing parameters may be changed according to a specificneed.

Furthermore, other types of information such as warranty information,service history and the like is desirable to be known at a servicefacility so that specific problems can be identified when servicing anindividual unit. Warranty information such as length of warranty, andidentification of individual purchaser may be useful for a variety ofreasons, including how to charge a customer having their batteryserviced.

As with any commercial endeavor, efficiency is important. Valuable timemay be lost entering data into a battery tester/charger using cumbersometechniques. Therefore, a fast and error resistant way of enteringinformation is desired. In addition, for future servicing, it may bedesirable to record a history of service done and associated with abattery so when the battery is serviced in the future, it can bedetermined what work was done on the battery. Therefore, it is desirableto provide a way of quickly and efficiently summarizing work done on abattery in order to speed and improve future servicing. Informationabout other products that can be tested, analyzed and repaired can alsobe utilized.

SUMMARY OF THE INVENTION

In one embodiment of the invention, an apparatus for transferringinformation to a testing device is provided and can include a codereader that can read information from a code on a medium, a controllerconfigured to receive information from the reader, to control thetesting device, and to be in communication with the reader, and a codeencoding device operatively connected to the controller for encodinginformation. The information can be coded on the medium and the mediumcan be coupled to the product. The reader can read code that can bestored on the medium that can be selected from a bar code, a magneticstrip, a floppy disc, a tape drive cartridge, an optical media, a flashmemory, a magnetic based media, a magneto optical, a USB drives, otherstorage media that the operator can store or retrieve information fromit and a combination thereof. The code reader can read information thatresults in the controller obtaining information regarding model, make,maintenance information, serial number, lot number, previous tests,analysis, and repairs, current and previous owners, manufacture date,manufacture location, person who originally tested the product before itshipped to the distributors, rating information, service dates, serviceprocedures, warranty information, other information and a combinationthereof. The controller can run the diagnosis as a result of theinformation obtained by the reader. The testing device can be selectedfrom an alternator tester, a starter tester, a regulator tester, abattery tester, an air bag tester, an air conditioner tester, ananti-lock braking system tester, a transmission tester, a fuel injectiontester, a suspension tester, an ignition tester, a cooling system andpressure tester, a glow plug/spark plug tester, a water pump tester, anemission tester, an electronics tester, other testers, and a combinationthereof. The apparatus can further include a communication port thatcommunicates the code to a remote device and can communicate via a wireor wirelessly.

In another embodiment, a method for transferring information into adevice is provided and can include reading coded information of aproduct to be tested, controlling the testing of the product by thedevice based on the coded information and encoding the code onto amedium. Reading coded information is done by a code reader and theinformation can be model, make, maintenance information, serial number,lot number, previous tests, analysis, and repairs, current and previousowners, manufacture date, manufacture location, person who originallytested the product before it shipped to the distributors, ratinginformation, service dates, service procedures, warranty information,other information and a combination thereof. The method of transferringcan further include printing the encoded information, placing theencoded information on the product and transmitting the information to aremote location. The device can be an alternator tester, a startertester, a regulator tester, a battery tester, an air bag tester, an airconditioner tester, an anti-lock braking system tester, a transmissiontester, a fuel injection tester, a suspension tester, an ignitiontester, a cooling system and pressure tester, a glow plug/spark plugtester, a water pump tester, an emission tester, an electronics tester,other testers and a combination thereof.

In still another embodiment, a system for transferring information to adevice is provided and can include a means for reading a code located ona medium, a means for controlling the testing of a product by the devicebased on the coded information, and a means for encoding information onthe medium. The system for transferring can further include a means forprinting operatively connected to the means for controlling for printingthe encoded information and a means for communicating that cancommunicate with the means for reading and a remote device. The meansfor controlling can access a database so that device can run the propertests on the product as result of the information obtained by the meansfor controlling. The means for reading can be a reader that can readencoded information. The device can be selected from an alternatortester, a starter tester, a regulator tester, a battery tester, an airbag tester, an air conditioner tester, an anti-lock braking systemtester, a transmission tester, a fuel injection tester, a suspensiontester, an ignition tester, a cooling system and pressure tester, a glowplug/spark plug tester, a water pump tester, an emission tester, anelectronics tester, other testers and a combination thereof. Theinformation can be one of model, make, maintenance information, serialnumber, lot number, previous tests, analysis, and repairs, current andprevious owners, manufacture date, manufacture location, person whooriginally tested the product before it shipped to the distributors,rating information, service dates, service procedures, warrantyinformation, other information and a combination thereof.

There has thus been outlined, rather broadly, the more importantfeatures of the invention in order that the detailed description thereofthat follows may be better understood, and in order that the presentcontribution to the art may be better appreciated. There are, of course,additional features of the invention that will be described below andwhich will form the subject matter of the claims appended hereto.

In this respect, before explaining at least one embodiment of theinvention in detail, it is to be understood that the invention is notlimited in its application to the details of construction and to thearrangements of the components set forth in the following description orillustrated in the drawings. The invention is capable of otherembodiments and of being practiced and carried out in various ways.Also, it is to be understood that the phraseology and terminologyemployed herein, as well as the abstract, are for the purpose ofdescription and should not be regarded as limiting.

As such, those skilled in the art will appreciate that the conceptionupon which this disclosure is based may readily be utilized as a basisfor the designing of other structures, methods and systems for carryingout the several purposes of the present invention. It is important,therefore, that the claims be regarded as including such equivalentconstructions insofar as they do not depart from the spirit and scope ofthe present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a hardware block diagram of an embodiment of the currentinvention.

FIG. 2 is a hardware block diagram.

FIG. 3 is a diagram of the process for applying a load to an opencircuit in accordance with a preferred embodiment of the presentinvention.

FIG. 4 is a flowchart of the process for testing and charging partiallycharged batteries in accordance with a preferred embodiment of thepresent invention.

FIG. 5 is a flowchart of the process for testing and charging dischargedbatteries in accordance with a preferred embodiment of the presentinvention.

FIG. 6 is a front view of a display and keyboard of one embodiment ofthe current invention.

FIG. 7 is a block diagram for an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is an embodiment of the current invention. The batterycharger/tester 100 (“charger 100”) can include a power source 110 thatprovides a 120V (volts) AC (alternating current) to the charger 100. Acircuit breaker 112 is provided to prevent damage that can be caused bya sudden power surge or a short in the system. A power switch 114 islinked to the power source 110 to enable the operator to turn thecharger 100 on or off.

A power transformer 116 is provided to step down both the voltage andcurrent to a level that enables the charger 100 to charge and/or test abattery. In a preferred embodiment, the power source 110 supplies thecharger 100 with 120V AC. The power transformer 116 reduces the 120V ACto approximately 20-25V AC, which is optimal for charging the battery.Two lines 118, 120 from the power transformer 116 are inputted into arectifier 124 and a third line 122 is directly coupled to the negativeclamp 238. The lines 118, 120 pulse alternately through a full-waverectifier 124 at a cycle of 60 Hz. The diodes of the rectifier 124convert the positive AC voltage to DC (direct current) power supply. Thethird line 122 provides a return path for the negative voltage ofoutputs 118, 120 to return to the transformer 116.

A silicon control rectifier (SCR) 126 or thyristor is included in thepreferred embodiment to regulate the output from the rectifier 124 tothe battery. Exiting from the rectifier 124 is a pulsed positive sinewaveform with peak voltages and current. The sine waveform results invarying voltages and current being outputted from the rectifier 124. TheSCR 126 essentially operates as a switch allowing certain voltagesand/or current to pass to the battery.

The operator can choose either a voltage or a current or both to chargethe battery. This selection is called a set-point. This set-point isthen transmitted to a FPGA 142 (field programmable gate array, discussedbelow), which then determines at which point in the sine wave to allowvoltage to pass through to the battery. This point in the sine wave isrelated to the set-point as chosen by the operator. The set-point,depending on the selection of the operator, is situated on the sine waveby starting from the end of the sine wave and working in a rearwarddirection. Once the set-point is located on the sine wave, the voltageunderneath the sine wave is allowed to pass through. Therefore, theset-point voltage is a mean value of a range of voltages.

For example, if the operator decides to charge the battery at 12V, thisset-point of 12V is entered into the charger 100. The set-point istransmitted to the FPGA 142, which then determines at which point in thesine wave to allow the voltage or current to pass through to thebattery. The 12V set-point in this example permits voltages larger thanand less than 12V to pass through to the battery. The mean of thevoltages distributed to the battery will approximately equal twelvevolts.

The SCR 126 operates essentially as a switch and allows current orvoltage to pass to the battery at a set-point fixed by the operator. TheSCR 126 can operate based on either voltage or current or a combinationthereof. The SCR 126 is normally switched off until it receives a signalfrom an I/O control (input/output) 134. The voltage or current exitingfrom the rectifier 124 is transmitted to an ADC (analog-to-digitalconverter) 136. The ADC 136 in turn transmits the voltage or currentinformation to a linked CPLD (computer programmable logic device) 140,which is linked to the FPGA 142. The FPGA 142, simulating as aprocessor, determines the operability of the SCR 126 by comparing thepreviously programmed set-point value with the output value of therectifier 124. If the output value of the rectifier 124 is equal orgreater than the set-point of the SCR 126, then the FPGA 142 instructsthe I/O control 134 to send a signal to the SCR 126 to allow the outputvoltage or current to pass to the battery. For example, if the operatordesires a minimum current of 20 amps, the SCR 126 will allow a currentequal to or exceeding 20 amps to pass to the battery.

A current sensor 128 is provided at the output of the SCR 126 to monitoror sense the current exiting from the rectifier 124 and the SCR 126. Thecurrent from the rectifier 124 is relayed to the ADC 136, which like thevoltage is fed to the CPLD 140 and then onto the FPGA 142. The FPGA 142verifies if the current from the rectifier 124 is equal to or exceedsthe current set-point value. The output from the current sensor 128 isconnected to the battery clamps 238, 240.

FIG. 2 illustrates a battery tester charger 200 according to oneembodiment of the invention. A battery 202 having a positive terminal234 and a negative terminal 236 may be attached to the battery testercharger 200 via a positive clamp 240 and a negative clamp 238 located atan end of the respective positive and negative cables 230, 232.

In a preferred embodiment, the battery tester charger 200 can determinewhether the connections between the battery 202 and the clamps 238, 240are acceptable. A connection test may be performed at either thepositive 240 or the negative clamp 238 connection by applying theconnection test to the positive components 230, 240 or negativecomponents 232, 238 of the battery tester charger 200. Of course,applying the connection test to both components will test both thepositive and negative connections. The connection test may be performedby comparing the voltage in the battery cables 230, 232 upstream fromthe connection of the clamps 238, 240, and the voltage at the connectionof the clamps 238, 240. Voltage loss due to cable resistances 208, 210may be considered and subtracted from the difference in voltage at theclamps 238, 240 and the upstream position. Additional differences involtage between the upstream position and the connections of the clamps238, 240 may be caused by clamp connection resistances 206, 204.

The testing of the battery connections can be applied to either thepositive or negative components to test the connections individually orcan be applied to both components to test both connections. The externalbattery cables 230, 232 are attached to the respective terminals 234,236 of the battery 202 via the respective clamps 240, 238. Standardclamps, such as alligator clamps, may be used.

A portion 237, 239 (FIG. 1) of each clamp 238, 240 is isolated from theremainder of the clamps 238, 240 and the associated cables 232, 230.Portions 237, 239 can be isolated from the remainder of the clamps 238,240 by a non-conductive element. The cables 232, 230 can carry a largecurrent, either to the battery 202 when charging or from the batterywhen the battery is in use. The isolated portions 237, 239 may beconnected to another device to determine the voltage at terminals 234,236. For example, the isolated portions 237, 239 may be attached to highimpedance wires 226, 224 to differential operational amplifiers 214, 212(opp. amp) as shown in FIG. 2. Alternately, in some optionalembodiments, as shown in FIG. 1, the high impedance wires 226, 224 maybe attached to the ADC 136.

The battery connections may be tested to determine the resistances 206,204 associated with the connection when the battery 202 is charged by acurrent source 110 or exposed to a heavy load 144. Whether the battery202 is charging or in use, large current will flow through the cables230, 232 and clamps 240, 238. A sensor 220, 222 in the battery chargertester 200 senses the voltage upstream from the clamps 240, 238 and thebattery terminals 234, 236 connections and inputs a signalrepresentative of the voltage to opp amps 214, 212 or optionally to ADC136. For example, in some optional embodiments of the invention, thevoltage may be sensed upstream from the current sense 128 in both cables230, 232 as shown in FIG. 1. As mentioned above, voltage is sensed inthe isolated portions 237, 239 and compared to the voltage sensedupstream. The cable resistances 208, 210 are known, and the portion ofthe voltage difference between the voltage in the isolated portions 237,239 and the voltage at the upstream position is accounted for by thecable resistances 208, 210. The remaining voltage difference between thevoltage measured at the isolated portions 237, 239 and the upstreampositions is due to the resistances in the clamps 240, 238 and terminal234, 236 connections. In optional embodiments of the invention, cableresistances 208, 210 and the associated difference in voltage due tocable resistances 208, 210, may be neglected or approximated.

The resistance of the connections 206, 204 can be analyzed using Ohm'slaw, V=IR, where V stands for voltage, I stands for current, and Rstands for resistance. Simple algebraic manipulation yields R=V/I. Theunknown connection resistances 206, 204 associated with the connectioncan be expressed in terms of known parameters of current and voltage,thus the resistances 206, 204 can be determined.

Once the connection resistances 206, 204 are determined, each connectioncan be evaluated to determine whether the connection is acceptable ornot. In one embodiment, a method is provided and compares the connectionresistances 206, 204 against a pre-determined acceptable andnon-acceptable range of connection resistance. Based on the comparison,the operator can determine whether the connection is acceptable or not.

In an alternative embodiment, a method is provided to compare thevoltage differences between the isolated portions 237, 239 and thevoltage in the cables 230, 232 at the upstream positions. If thedifference in voltage between the two locations is negligible, then theconnection is likely to be acceptable. Optionally, the difference involtage due to cable resistances 208, 210 may be subtracted from thevoltage difference or otherwise accounted for in determining whether theconnections are acceptable or not. If the voltage difference is higherthan a predetermined maximum amount, then the connection between thebattery terminal 234 and the clamp 140 will likely be unacceptable.

If the connection is not acceptable, the battery tester charger 200 canalert or notify the operator. In some embodiments, the battery testercharger 200 may alert the operator as to which connection (positive ornegative) is unacceptable or whether both are unacceptable. In someembodiments, the battery tester charger 200 may alert the operator thatthe connection(s) are acceptable. The operator may be alerted by avariety of ways such as, an indicator light, a message on a displayscreen, an audible signal, or other ways that are disclosed herein.Because the operator is warned that a connection is not acceptable, theoperator may take corrective measures to improve the connection, such ascleaning or replacing the terminals 234, 236 or clamps 240, 238.

Referring to FIG. 1, in the preferred embodiment of the invention, aSabre Battery Test procedure is used as a heavy load test to analyze thecondition of the battery. The heavy load test is applied with a heavyload 144 that includes a solenoid switch 146. The solenoid switch 146 isoperated by the FPGA 142 through the I/O control 134 via the CPLD 140.The solenoid switch 146 in the heavy load test ensures that a high loadamperage test can be efficiently and safely transmitted to the battery.One detraction in incorporating the solenoid switch 146 with the heavyload test is that it is not possible to make an exact determination ofwhen the heavy load 144 is started or ended. This results from themechanics of the solenoid switch 146 in that when the switch is turnedoff or on, it does not occur immediately. Therefore, there is a delaythat fluctuates due to the mechanics of the solenoid switch 146 whichmakes exact testing and charging more difficult. One of ordinary skillin the art will recognize that the solenoid 146 can be replaced withelectronic switching devices, such as transistors, in an alternateembodiment. However, cost considerations drive the design of thepreferred embodiment and a mechanical solenoid switch 146 was selected.

The preferred embodiment analyzes the charge-state of a given type ofbattery, determines whether the battery is defective and, if not,charges the battery at its most optimum charge rate up to its maximumallowed charging volts. Furthermore, the preferred embodiment executesits analysis, determination, and charging in the safest and most optimaltime possible.

In operation, the heavy load test is shown in the Sabre Test TimingDiagram 300 in FIG. 3. The Sabre Battery Test requires a first appliedload 302 to be placed on an open circuit 304. A battery voltage reading(“LVA15”) 306 can be taken at the end of the first applied load 302,which is approximately fifteen seconds after the first load 302 isapplied and released. A bounce back voltage measurement (“Rv”) 308 istaken approximately twenty seconds after the first applied load 302 isturned off. A second applied load 310 is then placed on the open circuit304 and maintained for approximately fifteen seconds. Another batteryvoltage reading (“LVB15”) 312 is taken at the end of the second appliedload 310.

Heavy load tests are highly accurate for testing charged batteries. Ifthe battery to be tested is partially charged, then the test accuratelydetermines whether the battery is defective. A person skilled in the artwill recognize that any heavy load test procedure that is suitable fortesting the condition of the battery may be used. Additionally, load asused herein can also be a charge.

If the condition of the battery is such that the battery can berecharged, a preferred embodiment of the invention can calculate a settime to charge the battery. If LVB15 312 is less than 4.0 V, the settime, i.e., maximum charge time, equals approximately forty-fiveminutes. If LVB15 312 is equal to or greater than 4.0 V, the set chargetime is calculated as follows:Set time=(12.5−Vss)*56.25 minutesWhere,Vss=bounce back voltage(“Rv”)if 11.7V<=Rv<=12.5VVss=12.5V if Rv>12.5VVss=11.7V if Rv<11.7V

By applying the heavy load test and monitoring the bounce back voltage,the charger 100 calculates the state of charge of the battery and theset time required to charge the battery while maintaining an optimumcharge rate. The charger 100 controls the optimum charge rate byprecisely controlling the charging voltage throughout the chargingcycle.

If the battery condition can be charged, as determined by the heavy loadtest (e.g., Sabre Battery Test), further testing and charging will beperformed. If the battery condition is determined to be faulty, thentesting is terminated and the battery can be discarded. Therefore, theoperator does not waste time and effort to charge the defective battery.

If the battery condition is determined to be functional, additionaltesting and charging are performed, as depicted in FIG. 4. The firststep in this testing is to determine whether the bounce back voltage isgreater than 12.6 volts 400. The bounce back voltage is a measure of thestate of battery charge. If the bounce back voltage is determined to begreater than 12.6 volts, the battery tester/charger will perform amicro-load test 162. If the bounce back voltage is equal to or less than12.6 volts, the charger 100 is activated 402 to charge the battery for aset time 404.

While the battery is being charged 402, the current is monitored. If thecharge is greater than five amps 406, the charger 100 continues tocharge for the set time. If the current is less than or equal to fiveamps 406, the charger 100 continues to charge the battery for a minimumof at least five minutes 408.

Once the set time or five minutes of charging 408 is reached, thecharger 100 turns off 410. A heavy load test is applied to the batteryfor at least ten seconds followed by the heavy load 144 being removedfor at least twenty seconds 410. The previous application and removal ofthe heavy load 144 is important to condition the battery by stabilizingthe battery voltage. Another heavy load test 412 is then performed onthe battery.

The charger 100 then determines from the heavy load test 412 if thebattery is good 414. If the battery is determined to be faulty or bad416, the testing is terminated and the battery is discarded. If thebattery is determined to be functional 414, or if the bounce backvoltage is greater than 12.6 volts, the cold cranking amps (“CCA”) aremeasured using a micro-load test 418.

In the preferred embodiment, the micro-load test 418 is performed afterthe battery is determined to be functional by the heavy load test 412.This microload test 418 is performed by applying a smaller load(approximately twenty to sixty amps) for a preset duration(approximately 250 milliseconds to one second) and measuring the CCA 420after the micro-load 162 is removed. If the measured CCA is greater than70% of the rated CCA 420 of the battery, then the battery is good andthe charge is completed 424, then the cycle ends at 426. If the measuredCCA is less than 70% of the rated CCA 420 of the battery, then it is badbattery 422 and will be discarded. It should be recognized that othermicro-load tests could be substituted for the micro-load test 418described above. For example, a dual micro-load test can also be used.

If the condition of the battery can not be determined from the heavyload test 412, the charger 100 will charge the battery and retest it inaccordance with the method depicted in FIG. 5. For re-testing, thecharger 100 is activated 500. The charger 100 charges the battery forapproximately one-minute 502. The battery voltage is read afterone-minute 504. If the battery voltage 504 is less than one volt afterone minute then the battery is bad. The charger 100 is turned off andthe battery will be discarded 506.

If the voltage 504 is equal to or exceeds one volt after one minute ofcharging, the charger 100 will continue to charge for approximately nineminutes 508. During the nine minutes of charging, the charging currentis recorded or read at one-minute intervals to determine if the chargingcurrent exceeds three amps 510. If the charging current is equal to ordoes not exceed three amps, the battery is determined to be bad 512 andthe charger 100 is turned off and the battery is discarded.

If the charger's 100 current does exceed three amps, the charger willcontinue to charge for the set period of time as calculated above 514.The charger 100 will apply the heavy load 144 to the battery for aperiod of ten seconds to condition the battery and then removed theheavy load for a period of twenty seconds 516 for the battery voltage tostabilize. The heavy load test (e.g., Sabre Battery Test) is thenperformed 518.

The charger 100 then determines whether the battery is good 520. If thebattery is determined to be bad 522, it is discarded. If the battery isdetermined to be functional 520, the CCA is then measured using themicro-load test 524. The measured CCA is then compared to the rated CCAfor the battery 526. In the preferred embodiment of the invention, ifthe measured CCA is less than or equal to approximately seventy percentof the rated CCA for the battery 526, then the battery is determined tobe bad 528 and is discarded. If the measured CCA 526 is greater thanapproximately seventy percent of the CCA, then the battery is determinedto be good 530 and the charge is completed 532.

Referring to FIG. 1, the preferred embodiment contains an infraredtemperature sensor 164, which aids in monitoring both the charger 100and the battery being charged. The infrared temperature sensor 164ensures that both the battery and charger 100 are maintained are safelevels. In the preferred embodiment, the infrared sensor 164 iscontained within a housing. The housing is placed over the chargingbattery for safety reasons especially in the instance that, whilecharging, the battery unexpectedly explodes. The housing aids incontaining the surrounding areas from the contaminants of the explodedbattery.

The infrared temperature sensor 164 is placed within the housing tomonitor the temperature of a charging battery. While charging a battery,heat is discharged or dissipated from the battery. However, excessiveheat is an indication that the battery is being charged at an excessiverate. In the preferred embodiment, the infrared temperature sensor 164is linked to the ADC 136, essentially an input to the ADC 136, whichrelays the information to the CPLD 140, which then relays it to the FPGA142. The FPGA 142, with the help of the infrared temperature sensor 164,can monitor the temperature of the battery and relay the information,including any problems to the operator. The infrared temperature sensor164 is aimed at the battery to ensure that the temperature of thebattery is being monitored throughout the charging process. For example,if the battery being charged contains a short, the battery will heatexcessively in a short period of time. The feedback from the infraredtemperature sensor 164 can be used to alert the operator of the problemso that the operator can take the appropriate action.

A gel battery can heat excessively during charging and therefore, thecharging current is applied in relation to the heat detected. For thistype of battery, a temperature is fixed after which point the chargingcurrent is reduced. By monitoring the temperature and adjusting thecurrent in view thereof, the charging time is reduced. The temperatureand charging current are proportionally related in specific types ofbatteries (e.g. gel). Thus, by monitoring the temperature and thecharging current, the gel battery or other batteries can be chargedefficiently, and explosions can be prevented during charging.

In another embodiment, the infrared temperature sensor 164 can be aimedat the charger 100 only or in combination with the battery. Bymonitoring the charger 100, any excessive temperature generated by thecharger can be relayed to the operator, thus appropriate actions can betaken to avoid overheating and damaging the charger.

One of ordinary skill in the art recognizes that the temperature sensor164 can be located in a number of different locations, either located inthe charger 100 or linked to the charger 100. The location of theinfrared temperature sensor 164 is not limited to a housing.Additionally, temperature sensors are needed most when the battery ischarging. Therefore, monitoring the temperature of the battery and/orthe charger can help to prevent battery explosions.

In a preferred embodiment, a conventional processor is replaced by adynamic FPGA 142. The use of the FPGA 142 allows a designer to makechanges to the charger 100 without having to replace the processor.Changes to a mounted conventional processor requires remounting andreconfiguration of the charger 100 design, which in turn requires moredesign hours and additional costs. With the use of the FPGA 142, thedesigner is allowed to make changes on the fly without remounting ortireless reconfiguration of the initial design.

The FPGA 142 is configured and arranged to operate as a conventionalprocessor. In the preferred embodiment, the FPGA 142 controls andprocesses a number of different functions of the charger 100. One suchfunction is the operation of the micro and heavy load tests 418, 412.These tests are downloaded and stored into a memory device 144. It canalso be stored in a RAM device 146. Once stored in these memory devices144, 146, the code is downloaded into the FPGA 142 and executed. Uponexecution of the code, the FPGA 142 begins to operate various controlsof the charger 100, such as the solenoid switch 146 on the heavy load144, and the SCR 126 for current and voltage control. Additionally, datacan be inputted into the FPGA 142 through the input device 148, such asa keypad. The FPGA 142 can transmit to and receive information from anoutput display 150, a serial port 154, such as a printer port, a secondserial port 152, such as an infrared bar code reader, a module port 156that can accept various communication modules, or any other device thatcan communicate with the FPGA.

Upon start-up or boot-up of the charger 100, an image of a soft-coremicroprocessor is loaded from the memory (i.e. flash 144, RAM 146, etc.)into the FPGA 142. Therefore, there is an image of the FPGA 142 residesin the memory. Additionally, upon start-up, the CPLD 140 takes controlof the data and address bus and clocks the FPGA 142 image from memoryinto the FPGA 142. As stated previously, this allows for redesign of theprocessor and the board without the need for remounting a processor. Allthat is necessary for a design change is to upload a new FPGA image intothe memory device. Additionally, any new tests or operating parametersthat is required by the operator can be easily upload into the FPGA 142and executed. The preferred embodiment uses flash memory 144 toaccomplish this function.

The output display 150 can be an integrated display or a remote displaythat relays information, such as data gathered from the charging andtesting of the battery, and menu information. Additionally, the display150 can notify the operator of any problems that have been detected. Theserial port 154 in the preferred embodiment are standard RS-232 serialports for connecting a device, such as a printer. One of ordinary skillin the art will recognize that the RS-232 can be replaced with anRS-432, an infrared serial port or a wireless radio frequency port, suchas BLUETOOTH™, or any other similar device.

In some embodiments of the current invention, a bar code port 152 isprovided. The bar code port 152 may serve to operably connect a bar codereader (not shown) to the FPGA 142 or a microprocessor. In someembodiments, the bar code port 152 may be a conventional component, suchas an RS-232. The bar code reader may be, for example, a conventionaloptical bar code reader, such as a gun or a wand type reader.

The operator swipes or aims the bar code reader on a bar code that isassociated with the particular battery to be charged or tested and readsthe bar code. The bar code itself may be affixed to the battery at thetime of manufacture, purchase, or service. The bar code may containinformation, or point to information stored in a database. The databasemay be located within the FPGA 142, the storage media 168 (below) orlocated remotely and accessed electronically. Examples of remotelylocated databases include data based accessible by the Internet,Ethernet, or other remote memory storage facility.

The bar code may provide a variety of information regarding the battery.For example, the bar code may provide information regarding the batterytype (e.g. gel, flooded lead acid, deep cycle), the battery rating (coldcranking amps), maintenance information, serial number, lot number,warranty information, and a manufacture date code. This data can be usedto select parameters for the test or charge cycle. The data provided bythe bar code is not limited to the examples given.

In some embodiments, the printer port 154 may print bar code labels thatmay be attached or otherwise associated with the battery and provideupdated information. The updated information may include, among otherthings, service dates, service procedures, and warranty information(e.g. time left on warranty, who was the original purchaser, what typesof service are and are not warranted, etc.) The printed label may thenbe read by the bar code reader in subsequent tests or charge cycles.

The output display 150 and an input device 148 are illustrated in apreferred embodiment in FIG. 6. The display 150 and input device 148 canbe located preferably on a common face of a cabinet of the charger 100,although they alternatively can be located remote from each other and/orremote from the cabinet of the charger, if desired. The display 150 caninclude one or more LED's indicating states of the charger 100 or thebattery during charging or testing. For example, LED 652 indicates thatpower is applied to the unit, LED 653 indicates a charge is beingapplied to the battery, LED 654 indicates a fault in the battery, andLED 655 indicates a good battery is detected. A segmented or dot matrixtype, alphanumeric LCD display 656 may also be provided as part of theoutput display 150. For example, as shown in FIG. 6, the display 656 canbe a 4 by 20 backlit LCD display, having four rows each having twentycharacter columns. This permits display of a wide range of informationrelating to e.g., charging status, time, amount, etc, as well as displayand selection from a menu of control functions. Thus, the display 150can include either the alphanumeric display 656, the LED's 652 to 655 orboth. The two types of displays can be on a single panel or separateones.

Control functions may be inputted via at least one, preferably two andmore preferably three or more functional buttons, such as up downbuttons 658, and a menu select button 660. A ten key alphanumeric keypad662 may also or alternatively be provided for input of numeric data,alphabetic data, and/or command selection. Each key can provide forentry of a number, one or more letters, and/or a function. Thus, theinput device 151 can include the menu button 660, the up down buttons658, the alphanumeric keypad 662, or a combination thereof. Thesearrangements can be on a single panel or separate ones.

For example, the key labeled GO may generally be used in theaffirmative. It usually means continue on. It is also used to initiatemenu prompts leading to the test/charge sequence. The key labeled CLEARcan generally be used in the negative. It is generally used to clear avalue that is to be entered. It may also be used to break out of aprocess or back out of a menu sequence. The key labeled MENU can be usedto initiate the function menu. It is also used to back out of a menusequence. The ARROW KEYS can be used to navigate within the menus anddisplay screens. If an arrow is displayed on the right of the display,the corresponding arrow key can be used to “move” the view to anotherpart of the menu or screen. The arrow keys may also be used to incrementor decrement a displayed value. The NUMBER KEYS can be used tocommunicate with the application in a number of ways. They can be usedto indicate the selection on a menu. They can also be used to providenumerical and/or alphabetical input to an application parameter.

The screen may include the ability to scroll through a set of menuitems, such as for example, the following:

-   -   a) Top level menu, (GO or MENU)    -   b) Function Menu:        -   1-Test Results            -   1-View results                -   1-Print results                -   2-Print engineering data            -   2-Print results        -   2-Setup            -   1-Set Clock            -   2-Set Language            -   3-Set Printer Port            -   4-Ethernet Setup            -   5-Save setup        -   3-Self Test            -   1-LCD Test            -   2-keypad Test            -   3-LED Test            -   4-Audio Test            -   5-Watchdog Test            -   6-Load Cycle Test            -   7-RAM test            -   8-Checksum application            -   9-Test Barcode Reader        -   4-Update S/W        -   5-Utility menu            -   1-print codes            -   2-upload data        -   6-Calibrate            -   1-Set DAC0            -   2-Set DAC1            -   3-Set Amps Offset            -   4-Set Amps Gain            -   5-Set Volts Offset            -   6-Set Volts Gain            -   7-Temperature Offset            -   8-Manual Controls                -   1-Test SCR                -   2-Enable SCR load                -   3-Enable Low Volts Charging                -   4-Auto Charge Mode                -   5-Heavy Load Test                -   6-Micro Load test                -   7-Manual Charge Mode                -   8-Monitor Volts            -   9-Save Calibrations                This menu is by way of example only. Other features,                commands, displays or inputs, for example may also be                provided.

Referring to FIG. 1 an additional smaller transformer 158 providescurrent and voltage to the I/O control 134 and a cooling fan 160. Thesmaller transformer 158 provides a step down of both the voltage andcurrent to a level that enables the I/O control 134 and a cooling fan160 to operate. The cooling fan 160 helps to control the operatingtemperature of the charger 100.

The peripheral module port 156 can be constructed and arranged toreceive an information relay device, such as an Ethernet wired module166 and/or an Ethernet wireless module 164. The Ethernet modules 164,166 communicate at data rates of 10 Mbps (10Base-T Ethernet), 100 Mbps(Fast Ethernet), 1000 Mbps (Gigabit Ethernet), and other data rates. TheEthernet modules 164, 166 can relay information between the charger 100and another device connected to the modules via a wire or wirelessly.The information relayed can include data from the result of thecharging/testing of the battery, data of the battery's warrantyinformation, data of the battery type (deep cycle, gel, etc.), data ofbattery make and model, data from previous charging/testing of thebattery, firmware update, data from diagnostic or operating parametersof the charger 100, maintenance data of the charger 100, and any otherdata required by the operator.

The peripheral module port 156 is in communication with the FPGA 142.Information can be exchanged between the peripheral module port 156, theEthernet modules 164, 166, and the FPGA 142. The Ethernet modules 164,166 can relay the information to and from a remote device, such as anetwork server, a printer, a personal computer, a workstation, a fileserver, a print server, other communication devices, such as a faxmachine, a cellular/digital phone, a pager, a personal digitalassistant, an email receiver, and a display. Through the use of theEthernet modules 164, 166 any information, such as the information ofthe battery tested by the charger 100, can be relayed to a printerserver and printed. Thus, the charger 100 is not dependent on astand-alone printer that may be down, and can print to any networkedprinter, thereby saving time and money to the operator.

With the Ethernet module 164, 166, information can also be storedremotely, such as on a workstation, a file server or other data storagedevice. For example, after the charger 100 concludes thecharging/testing of the battery, the information from the test/chargecan be relayed and stored on a networked personal computer. With theinformation stored on the networked personal computer, the informationfrom any previous charge/test can be compared with the latestinformation, a report can be generated and forwarded to the appropriatepersonnel.

If the chargers 100 (same or similar model) that are used by theoperator are “networked” together, the chargers' firmware can be updatedsimultaneously. Conventionally, to update firmware, a laptop is hookedup to the charger 100 and the new firmware is uploaded. Once the uploadis completed, the operator then must go to the next charger 100 andrepeat the process until all of the chargers 100 are updated with thenew firmware. By being able to upload new firmware onto networkedchargers 100, the update process will be less time consuming, and thuscost-effective for the operator. By having the chargers 100 networkedvia the Ethernet modules 164, 166, information from all the chargers 100can be relayed and displayed to the operator. Because the chargers 100can be networked, the operator does not have check each individualcharger 100 to see if the charging and testing is completed and savesvaluable time and money. Additionally, by being networked, the chargers100 can be instructed to run diagnostics and other functions remotelywithout having to individually program each charger 100.

In another embodiment, a notification system is provided to notify theoperator when there is a problem with the charger 100 or the battery orwhen the charging/testing is completed. Typically, the operator has tophysically check the status of the charger 100 and often would have toreturn many times to see if the charging/testing is completed. With thecharger 100 having an Ethernet connection modules 164, 166, the statusinformation can be relayed to a remote location, such as the networkserver or the personal computer, which can be programmed to notify theoperator of any problems or the completion of the charging/testing.Because the operator can be notified of any problems, the operator cantake appropriate measures, such as terminating the charging of thebattery because charger 100 or the battery is overheating. By beingnotified of any problems, the operator can save money due to a decreasein electricity usage and decrease the possibility of an explosion due toovercharging the battery. Notification of the operator can be done witha personal computer that can notify the operator via another display, bypager, by fax, by email, by phone, by computer or by any means that willrelay the requested information to the operator.

In another embodiment of the invention, the peripheral module port 156can be constructed and arranged to accept a removable data storage media168 (“storage media”). Information can be exchanged between theperipheral module port 156, the storage media 168, and the FPGA 142. Thestorage media 168 can be permanently fixed to the charger 100 to provideadditional memory or can be removable, as required by the operator. Thestorage media 168 can transfer information to and from the charger 100.The information can include data from the result of the charging/testingof the battery, the battery's warranty information, the battery type(deep cycle, gel, etc.), battery's make and model, data from previouscharging/testing of the battery, firmware update, data from diagnosticor operating parameters of the charger 100, maintenance data of thecharger 100, and any other data required by the operator.

The storage media 168 can include, but not limited to floppy disc(including ZIP); tape drive cartridge (such as DAT); optical media (suchas CD-ROM, DVD-ROM, etc.); flash memory (such as smart media, compactflash, PC card memory, memory sticks, flash SIMMs and DIMMS, etc.);magnetic based media, magneto optical; USB drives; or any other storagemedia that an operator can store or retrieve information from it. Aperson skilled in the art will recognize that any storage media can beused.

One use of the storage media 168 is to update firmware, wherein thestorage media can be programmed with the firmware update and loaded intothe charger 100. By using the user interface 148, the operator canselect the “update firmware” option from a menu that was previouslyprovided to the charger 100. The charger 100 is able to retrieve the newfirmware and update the charger 100. In another example, the operatorcan use the storage media 168 to store information regarding the batterythat was charged/tested. The information can be downloaded into thestorage media 168, such as a compact flash card, and can be sent to theappropriate person. Additionally, the storage media 168 can containinformation from the charging/testing result of a battery at anotherlocation and can be uploaded into the charger 100 and displayed to theoperator. Alternatively, the information can be relayed via the Ethernetmodule to be viewed, stored, or printed at a remote location. Thestorage media 168 can also provide an image of a soft-coremicroprocessor to the FPGA 142 during start-up.

The charger 100 can have more than one peripheral module port 156 sothat a communication nodule, a storage media module, and as many othermodules as needed can be onboard the charger. The peripheral module port156 provides flexibility to the charger 100 and provides a port so thatany new device can be added to the charger as needed by the operator.

FIG. 7 is a block diagram for an embodiment of the present invention. Inan alternative embodiment, a reader port 750 can be coupled to othertesting devices 700, such as an alternator tester, a starter tester, aregulator tester, a battery tester, an air bag tester, an airconditioner tester, an anti-lock braking system tester, a transmissiontester, a fuel injection tester, a suspension tester, an ignitiontester, a cooling system and pressure tester, a glow plug/spark plugtester, a water pump tester, an emission tester, an electronics tester,and other testers.

The reader port 740 can be configured to connect and communicate to areader, such as a code reader 760, to the FPGA, a microprocessor or acontroller 710 of the testing device 700. The code reader can be a barcode reader or any code reader that reads any type of code stored onvarious mediums. The code can be stored on, but not limited to, a barcode, a magnetic strip; a floppy disc (including ZIP); a tape drivecartridge (such as DAT); an optical media (such as CD-ROM, DVD-ROM,etc.); a flash memory (such as smart media, compact flash, PC cardmemory, memory sticks, flash SIMMs and DIMMS, etc.); a magnetic basedmedia, a magneto optical; a USB drives; or any other storage media thatthe operator can store or retrieve information from it. The code can bestored on the any of the above-mentioned medium and affixed or coupledto the product for later retrieval.

The microprocessor 710 can be in communication with a storage device 740containing a database that has pertinent testing and diagnosisprocedures related to the testing device 700. For example, an air bagtester will have a database of various air bags and the relevant testingprocedures related to the various air bags. The storage device 740 maybe located within the testing device 700, connected to the testingdevice or remotely located.

The code reader 760 can be integrated with the device 700 at the readerport 750. Alternatively, the code reader 760 can be connected to thedevice 700 via the reader port 750 or can be portable, such as a wand,gun, pen, a memory reader (or other types of portable reader that can beconnected to the reader port). The code reader 760 can also wirelesslytransmit the information to a communication port 720 or to the readerport 750.

The operator can direct the code reader 760 to read the code that isaffixed to the product and can read the information stored on the code.The code can contain information about the product such as the model,the make, the maintenance information, the serial number, the lotnumber, the warranty information, previous tests, analysis, and repairs,the current and previous owners, the manufacture date, the manufacturelocation, the person who originally tested the product before it shippedto the distributors, the rating information, and any other data desired.Based on the information that was scanned in, the testing device can runthe pertinent tests (stored in the database) and diagnosis so thatincorrect tests are not run, which can further damage the product orwaste time by running incorrect tests specific to another product onthis product.

The code information may be stored in the storage device 740 or theinformation may be transmitted remotely to another remote device. Thecommunication port 720 that is located on the testing device 700 cantransmit the information to the remote device or the code reader 760(with a built-in transmitting/receiving device) may transmit theinformation itself. The communication port 720 can have a wired networkmodule, such as a wired Ethernet, or a wireless network module, such asa wireless Ethernet, and/or other communication device that cancommunicate between the testing device 700 and the remote device. Theremote device can be a network server, a printer, a personal computer, aworkstation, a file server, a print server, other communication devices,such as a fax machine, a cellular/digital phone, a pager, a personaldigital assistant, an email receiver, and a display.

Once the information is retrieved, the operator can run the propertests, diagnose the defect and repair the defect of the product. Afterthe repairs are completed, additional information can be added to thecode such as service dates, service procedures, warranty information(e.g. time left on warranty, who was the original purchaser, what typesof service are and are not warranted, etc.). A new bar code can begenerated by a printer 730 that is operably connected to the testingdevice 700. Additionally, the code, if stored on writable or rewriteablemedium can be rewritten or modified with the new information.

With the code affixed or coupled to the product, all the informationabout the product is conveniently located on the product.Conventionally, prints outs are used and are often taped to the productand can get lost during shipping. Once the product is returned to themanufacturer, all the relevant information is readily available to themanufacturer and the manufacturer can easily upload the information intoa storage device, such as a computer. Because all the relevantinformation (before and after) are available on the bar code, time canbe saved because the information of the product does not have to beretrieved from a database. Additionally, the code provides all therequired information and the information can be scanned or uploaded sothat errors during data entry is avoided.

The many features and advantages of the invention are apparent from thedetailed specification, and thus, it is intended by the appended claimsto cover all such features and advantages of the invention which fallwithin the true spirits and scope of the invention. Further, sincenumerous modifications and variations will readily occur to thoseskilled in the art, it is not desired to limit the invention to theexact construction and operation illustrated and described, andaccordingly, all suitable modifications and equivalents may be resortedto, falling within the scope of the invention.

1. An apparatus for transferring information to and from a batterytester and charger relating to a tested product, comprising: acontroller configured to run one or more diagnostic tests on the testedproduct based on first testing information to obtain test resultinformation; and an encoding device in communication with the controllerconfigured to receive the test result information and encode the testresult information onto a first medium in an electronic form, whereinthe first medium is configured to be mechanically coupled to the testedproduct, and wherein the controller is configured to charge the testedproduct by determining which portion of an input power sine wave topermit to pass to the tested product a code reader configured to readthe first testing information from the first medium, wherein thecontroller is in communication with the reader and configured to receivethe first testing information from the code reader.
 2. The apparatus ofclaim 1, wherein the encoding device encodes the test result informationonto the first medium in a machine language.
 3. The apparatus of claim1, wherein the first medium includes at least one of a magnetic datastorage medium, an optical data storage medium strip, a flash memory anda memory having a USB drive.
 4. The apparatus of claim 1, wherein thefirst testing information includes information relating to a warranty ofthe tested product.
 5. The apparatus of claim 1, wherein the test resultinformation includes information relating to a warranty of the testedproduct.
 6. The apparatus of claim 1, wherein the code reader is furtherconfigured to read from the first medium and provide to the controllerinformation regarding at least one of model, make, maintenanceinformation, serial number, lot number, previous tests, analysis, andrepairs, current and previous owners, manufacture date, manufacturelocation, person who originally tested the product before the product isshipped to distributors, rating information, service dates and serviceprocedures of the tested product.
 7. The apparatus of claim 1, whereinthe tested product is an automotive battery.
 8. The apparatus of claim1, further comprising a communication port configured that communicatesinforming regarding the tested product to a remote device.
 9. Theapparatus of claim 1, wherein the controller is a field programmablegate array (FPGA) linked to the battery charger and tester.
 10. A methodfor transferring information to and from a battery tester and chargerrelating to a tested product, comprising: performing one or morediagnostic tests by a first testing device on the tested product basedon first testing information to obtain test result information; encodingthe first test result information onto a first medium in an electronicform; and if the first medium is not affixed to the tested product,affixing the first medium onto the tested product, controlling thecharge of the tested product by determining which portion of an inputpower sine wave to permit to pass to the tested product reading thefirst testing information from the first medium before performing theone or more diagnostic test.
 11. The method of claim 10, furthercomprising shipping the tested product with the first medium to a remotelocation, and reading the first test result information.
 12. The methodof claim 11, further comprising assessing warranty information based onthe first test result information.
 13. The method of claim 10, whereinthe first testing information includes information relating to awarranty of the tested product.
 14. The method of claim 10, whereincontrolling to charge a battery is performed by a field programmablegate array (FPGA) linked to the battery charger and tester.
 15. A systemfor transferring information to and from a battery tester chargerrelating to a tested product, comprising: means for controllingconfigured to run one or more diagnostic tests on the tested productbased on first testing information to obtain test result information;and means for encoding in communication with the means for controllingconfigured to receive the test result information and encode the testresult information onto a first medium in an electronic form, whereinthe first medium is configured to be mechanically coupled to the testedproduct, and wherein the means for controlling is configured to chargethe battery by determining which portion of an input power sine wave topermit to pass to the tested product means for reading a code configuredto read the first testing information from the first medium, wherein themeans for controlling is in communication with the means for read mg acode and configured to receive the first testing information from themeans for reading a code.
 16. The system of claim 15, wherein the firsttesting information includes information relating to a warranty of thetested product.
 17. The system of claim 15, wherein the means forcontrolling is a field programmable gate array (FPGA) linked to thebattery charger and tester.